home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / cb266.zip / CBX266.EXE / ADA.LNG next >
Text File  |  1989-05-13  |  6KB  |  230 lines

  1. ?≡  <>
  2. compilation-unit
  3. ≡statements statement
  4. statements
  5. ?statement
  6. null-statement
  7. assignment-statement
  8. procedure-call-statement
  9. exit-statement
  10. return-statement
  11. goto-statement
  12. entry-call-statement
  13. delay-statement
  14. abort-statement
  15. raise-statement
  16. code-statement
  17. if-statement
  18. case-statement
  19. loop-statement
  20. block-statement
  21. accept-statement
  22. select-statement
  23. ≡if-statement if condition then
  24.    statement
  25.    statements
  26. elsif condition then
  27.    statement
  28.    statements
  29. else
  30.    statement
  31.    statements
  32. end if;
  33. ≡loop-statement loop
  34.    statement
  35.    statements
  36. end loop;
  37. ≡procedure-call-statement procedure-name actual-parameter-part
  38. ≡actual-parameter-part ( parameter-association , parameter-association )
  39. ≡parameter-association formal-parameter => actual-parameter
  40. ≡assignment-statement variable-name := expression;
  41. ?expression
  42. relation
  43. relation and relation
  44. relation and then relation
  45. relation or relation
  46. relation or else relation
  47. relation xor relation
  48. ?relation
  49. simple-expression
  50. simple-expression relational-operator simple-expression
  51. simple-expression not in range
  52. simple-expression not in type-mark
  53. ?simple-expression
  54. term
  55. unary-adding-operator term
  56. term binary-adding-operator term
  57. uary-adding-operator term binary-adding-operator term
  58. ?term
  59. factor
  60. factor multiplying-operator factor
  61. ?factor
  62. primary
  63. primary ** primary
  64. abs primary
  65. not primary
  66. ?primary
  67. numeric-literal
  68. null
  69. aggregate
  70. string-literal
  71. name
  72. allocator
  73. function-call
  74. type-conversion
  75. qualified-expression
  76. ( expression )
  77. ≡function-call function-name actual-parameter-part
  78. ?compilation-unit
  79. context-clause library-unit
  80. context-clause secondary-unit
  81. ?library-unit
  82. subprogram-specification
  83. package-declaration
  84. generic-declaration
  85. generic-instantiation
  86. subprogram-body
  87. ?subprogram-specification
  88. procedure identifier formal-part
  89. function designator formal-part return type-mark
  90. ≡subprogram-body subprogram-specification is
  91.    declarative-part
  92. begin
  93.    statement
  94.    statements
  95. exception
  96.    exception-handler
  97.    exception-handlers
  98. end designator
  99. ≡declarative-part basic-declarative-items
  100. later-declarative-items
  101. ≡basic-declarative-items basic-declarative-item
  102. basic-declarative-items
  103. ?basic-declarative-item
  104. basic-declaration
  105. representation-clause
  106. use-clause
  107. ?basic-declaration
  108. object-declaration
  109. number-declaration
  110. type-declaration
  111. subtype-declaration
  112. subprogram-declaration
  113. generic-declaration
  114. task-declaration
  115. generic-declaration
  116. exception-declaration
  117. generic-instantiation
  118. renaming-declaration
  119. deferred-constant-declaration
  120. ?object-declaration
  121. identifier-list : constant subtype-indication := expression;
  122. identifier-list : constant constrained-array-definition := expression;
  123. ≡context-clause with-clause use-clause
  124. context-clause
  125. ≡with-clause with package-name , package-name;
  126. ≡use-clause use package-name , package-name;
  127. ≡block-statement declare
  128.    declarative-part
  129. begin
  130.    statement
  131.    statements
  132. exception
  133.    exception-handler
  134.    exception-handlers
  135. end
  136. ≡exception-handler when exception-choice exception-choices =>
  137.    statements
  138. ≡exception-handlers exception-handler
  139. exception-handlers
  140. ≡exception-choices | exception-choice exception-choices
  141. ?exception-choice
  142. exception-name
  143. others
  144. ≡exit-statement exit when condition;
  145. ?type-declaration
  146. full-type-declaration
  147. incomplete-type-declaration
  148. private-type-declaration
  149. ≡full-type-declaration type identifier discriminant-part is type-definition
  150. ?type-definition
  151. enumeration-type-definition
  152. integer-type-definiton
  153. real-type-definition
  154. array-type-definition
  155. record-type-definition
  156. access-type-definition
  157. derived-type-definition
  158. ≡record-type-definition record
  159.    component-list
  160. end record;
  161. ?component-list
  162. component-declarations
  163. component-declarations variant-part
  164. null
  165. ≡component-declaration identifier-list : component-subtype-definition := expression;
  166. ≡component-declarations identifier-list : component-subtype-definition := expression;
  167. component-declarations
  168. ≡variant-part case discriminant-simple-name is
  169.    variant
  170.    variants
  171. end case;
  172. ≡variant when choice choices =>
  173.    component-list
  174. ≡choices | choice choices
  175. ≡component-subtype-definition subtype-indication
  176. ≡subtype-indication type-mark constraint
  177. ?type-mark
  178. type-name
  179. subtype-name
  180. ?constraint
  181. range-constraint
  182. floating-point-constraint
  183. fixed-point-constraint
  184. index-constraint
  185. discriminant-constraint
  186. ≡constrained-array-definition array index-constraint of component-subtype-indication
  187. ≡index-constraint ( discrete-range discrete-ranges )
  188. ≡discrete-ranges , discrete-range discrete-ranges
  189. ≡discrete-range discrete-subtype-indication range
  190. ?range
  191. range-attribute
  192. simple-expression .. simple-expression
  193. ≡number-declaration identifier-list : constant := universal-static-expression
  194. ≡package-declaration package-specification ;
  195. ≡package-specification package identifier is
  196.    basic-declarative-item
  197. private
  198.    basic-declarative-item
  199. end package-simple-name
  200. ≡subprogram-declaration subprogram-specification ;
  201. ?subprogram-specification
  202. procedure identifier formal-part
  203. function designator formal-part return type-mark
  204. ≡formal-part ( parameter-specification parameter-specifications )
  205. ≡parameter-specifications parameter-specification , parameter-specifications
  206. ≡parameter-specification identifier-list : mode type-mark := expression
  207. ?mode
  208. in
  209. out
  210. in out
  211. ?later-declarative-item
  212. body
  213. subprogram-declaration
  214. package-declaration
  215. task-declaration
  216. generic-declaration
  217. use-clause
  218. generic-instantiation
  219. ≡exception-declaration identifier-list : exception;
  220. ≡incomplete-type-declaration type identifier discriminant-part ;
  221. ?private-type-declaration
  222. type identifier discriminant-part is limited private;
  223. type identifier discriminant-part is private;
  224. ?body
  225. subprogram-body
  226. package-body
  227. task-body
  228. body-stub
  229.  
  230.